MPI Application Development Using the Analysis Tool MARMOT
نویسندگان
چکیده
The Message Passing Interface (MPI) is widely used to write parallel programs using message passing. Due to the complexity of parallel programming there is a need for tools supporting the development process. There are many situations where incorrect usage of MPI by the application programmer can automatically be detected. Examples are the introduction of irreproducibility, deadlocks and incorrect management of resources like communicators, groups, datatypes and operators. We also describe the tool MARMOT that implements some of these tests. Finally we describe our experiences with three applications of the CrossGrid project regarding the usability and performance of this tool.
منابع مشابه
MARMOT: An MPI Analysis and Checking Tool
The Message Passing Interface (MPI) is widely used to write parallel programs using message passing. MARMOT is a tool to aid in the development and debugging of MPI programs. This paper presents the situations where incorrect usage of MPI by the application programmer is automatically detected. Examples are the introduction of irreproducibility, deadlocks and incorrect management of resources l...
متن کاملMPI I/O Analysis and Error Detection with MARMOT
The most frequently used part of MPI-2 is MPI I/O. Due to the complexity of parallel programming in general, and of handling parallel I/O in particular, there is a need for tools that support the application development process. There are many situations where incorrect usage of MPI by the application programmer can be automatically detected. In this paper we describe the MARMOT tool that uncov...
متن کاملCorrectness Checking of MPI One-Sided Communication Using Marmot
The MPI-2 standard defines functions for Remote Memory Access (RMA) by allowing one process to specify all communication parameters both for the sending and the receiving side, which is also referred to as one-sided communication. Having experienced parallel programming as a complex and error-prone task, we have developed the MPI correctness checking tool MARMOT covering the MPI-1.2 standard an...
متن کاملRuntime Checking of MPI Applications with MARMOT
The Message Passing Interface (MPI) is widely used to write parallel programs using message passing, but it does not guarantee portability between different MPI implementations. When an application runs without any problems on one platform but crashes or gives wrong results on another platform, developers tend to blame the compiler/architecture/MPI implementation. In many cases the problem is a...
متن کاملMPI Development Tools and Applications for the Grid
The message passing interface (MPI) is a standard used by many scientific applications. It has the advantage of a smoother migration path for porting applications to the Grid. In this paper Grid-enabled tools and libraries for developing MPI applications are presented. The first is PACX-MPI, an implementation of the MPI standard optimized for Grid environments. The second is MARMOT, a tool that...
متن کامل